don't call module initializers multiple times. changed --gtk-with-module
authorTim Janik <timj@gtk.org>
Mon, 17 Aug 1998 03:12:10 +0000 (03:12 +0000)
committerTim Janik <timj@src.gnome.org>
Mon, 17 Aug 1998 03:12:10 +0000 (03:12 +0000)
Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
        times. changed --gtk-with-module to --gtk-module at owen's request.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmain.c

index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c115cfc6a7a6e085f78bf095ff77a9a74343f45..70e31430683702ec7153f5dd3f6727c34563c632 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
+       times. changed --gtk-with-module to --gtk-module at owen's request.
+
 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
 
        * gtk/gtkmain.c (gtk_init): feature a new commandline option
index 1c315b326207124044ed97ab7a54c49285eb82a3..19c6d2f79f23064fc7f0d213f79281284800f2ac 100644 (file)
@@ -309,12 +309,12 @@ gtk_init (int      *argc,
                }
              (*argv)[i] = NULL;
            }
-         else if (strcmp ("--gtk-with-module", (*argv)[i]) == 0 ||
-                  strncmp ("--gtk-with-module=", (*argv)[i], 18) == 0)
+         else if (strcmp ("--gtk-module", (*argv)[i]) == 0 ||
+                  strncmp ("--gtk-module=", (*argv)[i], 13) == 0)
            {
              GModule *module = NULL;
              GtkModuleInitFunc modinit_func = NULL;
-             gchar *module_name = (*argv)[i] + 17;
+             gchar *module_name = (*argv)[i] + 12;
 
              if (*module_name == '=')
                module_name++;
@@ -339,7 +339,15 @@ gtk_init (int       *argc,
                  if (module &&
                      g_module_symbol (module, "gtk_module_init", (gpointer*) &modinit_func) &&
                      modinit_func)
-                   gtk_modinit_funcs = g_slist_prepend (gtk_modinit_funcs, modinit_func);
+                   {
+                     if (!g_slist_find (gtk_modinit_funcs, modinit_func))
+                       gtk_modinit_funcs = g_slist_prepend (gtk_modinit_funcs, modinit_func);
+                     else
+                       {
+                         g_module_close (module);
+                         module = NULL;
+                       }
+                   }
                }
              if (!modinit_func)
                {